Collaborative environments are becoming pervasive in the industry. One area of collaboration that is critical to an enterprise is that which is associated with new software development. During software development a variety of different developers can be working on the same or dependent modules at the same time and in entirely different processing environments. A variety of different project life-cycle and version control systems attempt to coordinate project activities in scenarios such as this.
One issue with traditional software modeling and software development environments is that these techniques force the user to define modules before the modules can be used or manipulated. At first blush, these approaches would seem obvious, but it is a limitation that excludes many valuable non-technical staff (e.g., designers, architects, etc.) from effectively participating in project development projects via automated processes.
In other words, traditional project modeling systems have not been supportive of high-level conceptual work. These systems basically force users to fill in all the details for modules before the modules can be used or even placed in these systems. The end result is that the users of these systems tend to be limited to very technical staff (e.g., developers, administrators, etc.) of enterprises. The module details are usually not known or even a concern of non-technical staff so these systems tend to exclude any effective participation of the non-technical staff in the automated project development.
Essentially, with traditional modeling systems work can be stymied until modules for a project are fully defined within the modeling environment. This also effects technical staff because one developer may be waiting on another developer for a module to be defined before the waiting developer can complete his/her piece of the project.
In still another situation, a technical user may actually know the details for his/her module but for whatever reason may not want to provide the full details for that module. For example, the user may be in a rush or may have unresolved security issues that are legitimate concerns and therefore the user needs to hold off on fully defining the module within the modeling system.
Thus, improved mechanisms are needed for managing modules within a project-based environment.